﻿@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>Harmonogram lekcji:</h2>

@if (@TempData["Error "] != null)
{
    <div class="alert alert-danger" role="alert">
        <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
        <span class="sr-only">Błąd:</span>
        @TempData["Error "]
    </div>
}

<button class="lekcje-tworzenie btn btn-primary">Nowa lekcja</button>

<p>
    Korzystaj z wizualnego edytora, aby zmieniać daty, oraz godziny, oraz zatwierdzać lekcje.
</p>

<button class="btn btn-primary" type="button">
    Zatwierdź dzień  @*<span class="badge">@ViewBag.IleLekcji</span>*@
</button>

<br /><br />
<div id='calendar' style="width:100%"></div>
<div id="lekcje-tworzenie-wrapper"></div>
<div id="lekcje-edytowanie-wrapper"></div>

@section Scripts
{
    <script type="text/javascript">
        $(document).ready(function () {
            $('#calendar').fullCalendar({
                header: {
                    left: 'prev, next today',
                    center: 'title',
                    right: ''
                },
                //error: function () {
                //    alert('there was an error while fetching events!');
                //},
                timeFormat: 'H(:mm)',
                defaultView: 'agendaDay',
                editable: true,
                allDaySlot: false,
                selectable: true,
                slotMinutes: 15,
                allDayDefault: false,
                events: '@Url.Action("getevents", "Lekcjes")',
                eventClick: function (calEvent, jsEvent, view) {
                    EditLesson(calEvent.id);
                },
                eventDrop: function (event, dayDelta, minuteDelta, allDay, revertFunc) {
                    if (confirm("Potwierdź zmiane?")) {
                        UpdateEvent(event.id, event.start);
                    }
                    else {
                        revertFunc();
                    }
                },
                eventResize: function (event, dayDelta, minuteDelta, revertFunc) {

                    if (confirm("Confirm change appointment length?")) {
                        UpdateEvent(event.id, event.start, event.end);
                    }
                    else {
                        revertFunc();
                    }
                }
            })
        });
        $(document).ready(function () {
            $('.lekcje-tworzenie').on('click', '', function (e) {
                e.preventDefault();
                var id = $(this).attr('data-id');
                $.ajax({
                    url: '/Lekcjes/Tworzenie',
                    type: 'get',
                    cache: false,
                    async: true,
                    success: function (result) {
                        $('#lekcje-tworzenie-wrapper').html(result);
                        $('#lekcje-tworzenie-modal').modal("show");
                    },
                    error: function (result) {                       
                    }                    
                });
            });
        });
        function EditLesson(LessonId) {
            $.ajax({
                url: '/Lekcjes/Edycja?id=' + LessonId,
                type: 'get',
                async: false,
                success: function (result) {
                    $('#lekcje-edytowanie-wrapper').html(result);
                    $('#lekcje-edytowanie-modal').modal("show");
                },
                error: function (result) {
                }
            });
        }
        function UpdateEvent(EventID, EventStart, EventEnd) {
            var dataRow = {
                'ID': EventID,
                'NewEventStart': EventStart,
                'NewEventEnd': EventEnd
            }
            $.ajax({
                type: 'POST',
                url: "/Lekcjes/AktualizyjLekcje",
                dataType: "json",
                contentType: "application/json",
                data: JSON.stringify(dataRow)
            });
        }
    </script>
}
